/*
 * PACKAGE NAME: com.jodinfo.outmirror.api.tabledefine.service
 * FILE    NAME: TableDefineDaoImpl.java
 * COPYRIGHT: Copyright(c) © 2016 heroj Company Ltd. All Rights Reserved
 */ 
package com.jodinfo.outmirror.api.tabledefine.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.hero.core.entity.ResponseEntity;
import com.jodinfo.outmirror.api.tabledefine.entity.TableDefineEntity;


/**
 * DymcformBizService接口
 * @author shensu
 * @date 2016年12月30日 上午9:08:32
 * @version <b>1.0.0</b>
 */
public interface DymcformBizService {

	/**
	 * 保存表单数据
	 * @author shensu
	 * @date 2017年4月5日 上午9:20:36
	 * @param tableDefineEntity
	 * @return
	 */
	ResponseEntity saveFormData(TableDefineEntity tableDefineEntity);
	

	
	/**
	 * 获取表单数据
	 * @author shensu
	 * @date 2017年4月6日 上午10:14:47
	 * @param tableName
	 * @param pkvalue
	 * @param dymcformId
	 * @return
	 */
	String getFormData(String tableName, String pkvalue, String dymcformId,HttpServletRequest request);

	/**
	 * 获取子表数据
	 * @author cao.weiwei
	 * @date 2017年4月16日 下午3:26:50
	 * @param tableName
	 * @param pkvalue
	 * @param mainTableId
	 * @return
	 */
	String getSubTableData(String tableName, String pkvalue,String mainTableId);

	/**
	 * 获取流程变量数据
	 * @author cao.weiwei
	 * @date 2017年4月18日 下午4:32:45
	 * @return
	 */
	ResponseEntity getFlowData(TableDefineEntity tableDefineEntity);



	/**
	 * 获取表单数据接口(小程序)
	 * @author cao.weiwei
	 * @date 2017年4月22日 上午9:13:30
	 * @param tableName
	 * @param pkvalue
	 * @param dymcformId
	 * @param request
	 * @return
	 */
	String getFormDataIntface(String tableName, String pkvalue,
			String dymcformId, HttpServletRequest request);



	/**
	 * 获取多个表单的某些字段值
	 * @author cao.weiwei
	 * @date 2017年5月9日 上午9:51:20
	 * @param dymcformList
	 * @return
	 */
	ResponseEntity getDymcformMessageList(String dymcformList);

	/**
	 * 生成表单数据
	 * @author cao.weiwei
	 * @date 2017年5月10日 下午5:03:48
	 * @param tableDefineEntity
	 * @return
	 */
	ResponseEntity generateFormData(TableDefineEntity tableDefineEntity);


	/**
	 * 查询
	 * @author cao.weiwei
	 * @date 2017年5月13日 下午7:32:26
	 * @param tableName
	 * @param sql
	 * @return
	 */
	public Map queryDymcformSql(String tableName,String sql);

	/**
	 * 
	 * 批量更新
	 * @author cao.weiwei
	 * @date 2017年5月13日 下午7:38:13
	 * @param sqls
	 */
	public void  batchExecuteSqls(List<String> sqls);


	/**
	 * 获取采购单的设备列表
	 * @author cao.weiwei
	 * @date 2017年5月15日 下午1:48:34
	 * @param business_no 采购单号
	 * @param equipmentType 设备类型 
	 * @return
	 */
	public String getPurchaseEquipmentList(String business_no,String equipmentType);


	/**
	 * 小程序端获取单据号
	 * @author maoyan
	 * @date 2017年6月15日 下午1:58:25
	 * @param prefix单号前缀
	 * @return
	 */
	public String getWoNo(String prefix);
	
}

